﻿using ApisixSDK.Admin.model.plugin;
using ApisixSDK.Common;
using Newtonsoft.Json;
using System.Collections.Generic;
namespace ApisixSDK.Admin.model
{
	public class Consumer : BaseModel
	{
		/// <summary>
		/// [必需]Consumer 名称。
		/// </summary>
		[JsonProperty(propertyName: "username")]
		public string UserName { get; set; }

		/// <summary>
		/// [可选]该 Consumer 对应的插件配置，它的优先级是最高的：Consumer > Route > Service。对于具体插件配置，可以参考 Plugins 章节。
		/// </summary>
		[JsonProperty(propertyName: "plugins")]
		public IDictionary<string, Plugin> Plugins { get; set; }

		/// <summary>
		/// [可选]consumer描述
		/// </summary>
		[JsonProperty(propertyName: "desc")]
		public string Desc { get; set; }

		/// <summary>
		/// [可选]标识附加属性的键值对
		/// <code>{"version":"v2","build":"16","env":"production"}</code>
		/// </summary>
		[JsonProperty(propertyName: "labels")]
		public string Labels { get; set; }
	}

}